home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmigaPlus / Tools / Development / MCC_TheBar / Developer / Autodocs / TheBar.doc
Encoding:
Text File  |  2004-01-31  |  36.5 KB  |  1,626 lines

  1. TABLE OF CONTENTS
  2.  
  3. TheBar.mcc/TheBar.mcc
  4. TheBar.mcc/MUIA_TheBar_Active
  5. TheBar.mcc/MUIA_TheBar_BarPos
  6. TheBar.mcc/MUIA_TheBar_BarSpacer
  7. TheBar.mcc/MUIA_TheBar_BarSpacerSpacing
  8. TheBar.mcc/MUIA_TheBar_Borderless
  9. TheBar.mcc/MUIA_TheBar_BottomBarFrameSpacing
  10. TheBar.mcc/MUIA_TheBar_BottomInnerSpacing
  11. TheBar.mcc/MUIA_TheBar_Buttons
  12. TheBar.mcc/MUIA_TheBar_Columns
  13. TheBar.mcc/MUIA_TheBar_DisMode
  14. TheBar.mcc/MUIA_TheBar_DisPics
  15. TheBar.mcc/MUIA_TheBar_DisStrip
  16. TheBar.mcc/MUIA_TheBar_DisStripBrush
  17. TheBar.mcc/MUIA_TheBar_DragBar
  18. TheBar.mcc/MUIA_TheBar_EnableKeys
  19. TheBar.mcc/MUIA_TheBar_Event
  20. TheBar.mcc/MUIA_TheBar_Frame
  21. TheBar.mcc/MUIA_TheBar_Free
  22. TheBar.mcc/MUIA_TheBar_FreeHoriz
  23. TheBar.mcc/MUIA_TheBar_FreeVert
  24. TheBar.mcc/MUIA_TheBar_HorizSpacing
  25. TheBar.mcc/MUIA_TheBar_HorizTextGfxSpacing
  26. TheBar.mcc/MUIA_TheBar_IgnoreDisImages
  27. TheBar.mcc/MUIA_TheBar_IgnoreSelImages
  28. TheBar.mcc/MUIA_TheBar_Images
  29. TheBar.mcc/MUIA_TheBar_LabelPos
  30. TheBar.mcc/MUIA_TheBar_LeftBarFrameSpacing
  31. TheBar.mcc/MUIA_TheBar_LeftInnerSpacing
  32. TheBar.mcc/MUIA_TheBar_Limbo
  33. TheBar.mcc/MUIA_TheBar_MinVer
  34. TheBar.mcc/MUIA_TheBar_Pics
  35. TheBar.mcc/MUIA_TheBar_PicsDrawer
  36. TheBar.mcc/MUIA_TheBar_Precision
  37. TheBar.mcc/MUIA_TheBar_Raised
  38. TheBar.mcc/MUIA_TheBar_Remove
  39. TheBar.mcc/MUIA_TheBar_RightBarFrameSpacing
  40. TheBar.mcc/MUIA_TheBar_Rows
  41. TheBar.mcc/MUIA_TheBar_Scale
  42. TheBar.mcc/MUIA_TheBar_Scaled
  43. TheBar.mcc/MUIA_TheBar_SelPics
  44. TheBar.mcc/MUIA_TheBar_SelStrip
  45. TheBar.mcc/MUIA_TheBar_SelStripBrush
  46. TheBar.mcc/MUIA_TheBar_SpacerIndex
  47. TheBar.mcc/MUIA_TheBar_SpecialSelect
  48. TheBar.mcc/MUIA_TheBar_Strip
  49. TheBar.mcc/MUIA_TheBar_StripBrush
  50. TheBar.mcc/MUIA_TheBar_StripCols
  51. TheBar.mcc/MUIA_TheBar_StripHSpace
  52. TheBar.mcc/MUIA_TheBar_StripRows
  53. TheBar.mcc/MUIA_TheBar_StripVSpace
  54. TheBar.mcc/MUIA_TheBar_Sunny
  55. TheBar.mcc/MUIA_TheBar_TextOnly
  56. TheBar.mcc/MUIA_TheBar_TextOverUseShine
  57. TheBar.mcc/MUIA_TheBar_TopBarFrameSpacing
  58. TheBar.mcc/MUIA_TheBar_TopInnerSpacing
  59. TheBar.mcc/MUIA_TheBar_VertSpacing
  60. TheBar.mcc/MUIA_TheBar_VertTextGfxSpacing
  61. TheBar.mcc/MUIA_TheBar_ViewMode
  62. TheBar.mcc/MUIM_TheBar_AddButton
  63. TheBar.mcc/MUIM_TheBar_Clear
  64. TheBar.mcc/MUIM_TheBar_DoOnButton
  65. TheBar.mcc/MUIM_TheBar_GetAttr
  66. TheBar.mcc/MUIM_TheBar_GetDragImage
  67. TheBar.mcc/MUIM_TheBar_GetObject
  68. TheBar.mcc/MUIM_TheBar_Remove
  69. TheBar.mcc/MUIM_TheBar_SetAttr
  70. TheBar.mcc/MUIM_TheBar_Sort
  71.  
  72. TheBar.mcc/TheBar.mcc
  73.  
  74.     TheButton.mcc, TheBar.mcc, TheBarVirt.mcc, TheBar.mcp and
  75.     TheBarCfg.mcc (TheBar package) are copyright 2003 by Alfonso
  76.     Ranieri. All Rights Are Reserved.
  77.  
  78.     TheBar allow you to easily create toolbars similar to those
  79.     you can see in Windows programs (although you can get a
  80.     standard look as well ;)
  81.  
  82.     Note that:
  83.     - TheBar.mcc is a MUIC_Group subclass
  84.     - TheBarVirt.mcc is a MUIC_Virtgroup subclass
  85.     - TheButton.mcc is a MUIC_Area subclass
  86.  
  87.     These classes are free for users: they don't have to pay
  88.     anything; they are not free for developers: I want to receive
  89.     a registered copy of your program if it uses them.
  90.  
  91.     IMPORTANT NOTE
  92.     If you plan to offer the user the chance to change the bar
  93.     style on the fly you should *NEVER* cache the pointer to
  94.     single buttons: this means that something like this should
  95.     never be seen in your code:
  96.  
  97.     set(button,MUIA_Disabled,TRUE);
  98.  
  99.     where button is an Object * to a TheBar member.
  100.  
  101.     The reason behind this is that some of the style changes may
  102.     cause the bar to destroy and recreate all the buttons thus
  103.     invalidating all the previous pointers.
  104.  
  105.     But don't worry: you have MUIM_TheBar_GetObject and
  106.     MUIM_TheBar_DoOnButton to solve the problem.
  107.  
  108.     Also never, never add/remove buttons using
  109.     OM_ADDMEMBER/OM_REMMEMBER and never use MUIA_ShowMe on them!
  110.  
  111.     MUIA_Group_Horiz may be set to change the orientation of the
  112.     bar.
  113.  
  114.     If you need TheBar in a Virtgroup, use TheBarVirt.mcc!
  115.  
  116. TheBar.mcc/MUIA_TheBar_Active
  117.  
  118.     NAME
  119.      MUIA_TheBar_Active -- ULONG, [ISGN]
  120.  
  121.  
  122.     FUNCTION
  123.      This attributes contains the ID of the active button in a
  124.      bar with mutual exclude buttons.
  125.  
  126.      Note that you may have many mutual exclude groups: this
  127.      attribute will always contain the ID of the last selected
  128.      button.
  129.  
  130. TheBar.mcc/MUIA_TheBar_BarPos
  131.  
  132.     NAME
  133.      MUIA_TheBar_BarPos -- ULONG, [ISGN]
  134.  
  135.  
  136.     FUNCTION
  137.      This attributes defines the position of the buttons in a
  138.      bar, one of:
  139.  
  140.      - MUIV_TheBar_BarPos_Left
  141.      - MUIV_TheBar_BarPos_Center
  142.      - MUIV_TheBar_BarPos_Right
  143.  
  144.      Default: MUIV_TheBar_BarPos_Left
  145.  
  146. TheBar.mcc/MUIA_TheBar_BarSpacer
  147.  
  148.     NAME
  149.      MUIA_TheBar_BarSpacer -- BOOL, [ISGN]
  150.  
  151.  
  152.     FUNCTION
  153.      If this attribute is TRUE, any space spacer
  154.      (MUIV_TheBar_ButtonSpacer) becomes a bar spacer
  155.      (MUIV_TheBar_BarSpacer).
  156.  
  157.      Default: FALSE
  158.  
  159. TheBar.mcc/MUIA_TheBar_BarSpacerSpacing
  160.  
  161.     NAME
  162.      MUIA_TheBar_BarSpacerSpacing -- ULONG, [I...]
  163.  
  164.  
  165.     FUNCTION
  166.      Define the pixels between a bar spacer and the buttons
  167.      at its left/right.
  168.  
  169.      Accepted range is 0<=x<=16
  170.  
  171.      Note that this overwrites the user preferences and so must
  172.      be used sparely.
  173.  
  174. TheBar.mcc/MUIA_TheBar_Borderless
  175.  
  176.     NAME
  177.      MUIA_TheBar_Borderless -- BOOL, [ISGN]
  178.  
  179.  
  180.     FUNCTION
  181.      If this attribute is TRUE, you get borderless
  182.      buttons.
  183.  
  184.      Default: FALSE
  185.  
  186. TheBar.mcc/MUIA_TheBar_BottomBarFrameSpacing
  187.  
  188.     NAME
  189.      MUIA_TheBar_BottomBarFrameSpacing -- ULONG, [I...]
  190.  
  191.  
  192.     FUNCTION
  193.      Define the pixels between the bar and the bottom frame.
  194.  
  195.      Accepted range is 0<x<=16
  196.  
  197.      Note that this overwrites the user preferences and so must
  198.      be used sparely.
  199.  
  200. TheBar.mcc/MUIA_TheBar_BottomInnerSpacing
  201.  
  202.     NAME
  203.      MUIA_TheBar_BottomInnerSpacing -- ULONG, [I...]
  204.  
  205.  
  206.     FUNCTION
  207.      Define the pixels between a button contents and its bottom
  208.      frame.
  209.  
  210.      Accepted range is 0<x<=16
  211.  
  212.      Note that this overwrites the user preferences and so must
  213.      be used sparely.
  214.  
  215. TheBar.mcc/MUIA_TheBar_Buttons
  216.  
  217.     NAME
  218.      MUIA_TheBar_Buttons -- struct MUIS_TheBar_Button *, [I...]
  219.  
  220.  
  221.     FUNCTION
  222.      Specify the buttons to place in the bar.
  223.  
  224.      You must specify an array of:
  225.  
  226.      struct MUIS_TheBar_Button
  227.      {
  228.          ULONG           img;
  229.          ULONG           ID;
  230.          STRPTR          text;
  231.          STRPTR          help;
  232.          ULONG           flags;
  233.          ULONG           exclude;
  234.          struct IClass   *Class;
  235.          Object          *Object;
  236.      };
  237.  
  238.      Where the fields meanings are:
  239.  
  240.      - img
  241.        the index of the brush image used by the button (0,...) or
  242.        one of the special values:
  243.  
  244.        . MUIV_TheBar_End
  245.          Ends a MUIS_TheBar_Button array. Must be always
  246.          specified!
  247.  
  248.        . MUIV_TheBar_BarSpacer
  249.          Add a bar spacer
  250.  
  251.        . MUIV_TheBar_ButtonSpacer
  252.          Add an empty spacer, with the same dimensions of the
  253.          buttons
  254.  
  255.        . MUIV_TheBar_ImageSpacer
  256.          Add a spacer with the image specified in
  257.          MUIA_TheBar_SpacerIndex; if no spacer index was
  258.          specified, a bar spacer is used.
  259.  
  260.      - ID
  261.        the id of the object; any value may be used, but if the
  262.        button is in a mutual exclude group, it must be 1<<x,
  263.        where x = 0,...,23. That also means that you may have up
  264.        to 24 total mutual exclude buttons.
  265.  
  266.      - text
  267.        the button label, max 32 chars long; it is copied!
  268.  
  269.      - help
  270.        the button short-help (for bubble help); it is *NOT*
  271.        copied!
  272.  
  273.      - flags
  274.        can be used to set the type of button you need; a
  275.        combination of:
  276.  
  277.        . MUIV_TheBar_ButtonFlag_NoClick
  278.          The button doesn't react to user inputs
  279.  
  280.        . MUIV_TheBar_ButtonFlag_Immediate
  281.          The button is an immediate one
  282.  
  283.        . MUIV_TheBar_ButtonFlag_Toggle
  284.          The button is a toggle one
  285.  
  286.        . MUIV_TheBar_ButtonFlag_Disabled
  287.          The button is disabled. Use MUIA_Disabled to un/disable
  288.          the button
  289.  
  290.        . MUIV_TheBar_ButtonFlag_Selected
  291.          The button is selected. Use MUIA_Selected to un/select
  292.          the button, but if the button is in a mutual exclude
  293.          group, you SHOULD use MUIA_TheBar_Active!
  294.  
  295.        . MUIV_TheBar_ButtonFlag_Sleep
  296.          The button is not created at all. See
  297.          MUIM_TheBar_SetAttr
  298.  
  299.        . MUIV_TheBar_ButtonFlag_Hide
  300.          The button is created, but it is not shown. NEVER use
  301.          MUIA_ShowMe on buttons! See MUIM_TheBar_SetAttr
  302.  
  303.      - exclude
  304.        mutual exclude mask, see ID
  305.        To create a 2 buttons mutual exclude group:
  306.        ...
  307.        {5, 4, "_Matches", "Matches page.", MUIV_TheBar_ButtonFlag_Immediate|MUIV_TheBar_ButtonFlag_Selected, 1<<6},
  308.        {6, 5, "_Edit", "Edit page.", MUIV_TheBar_ButtonFlag_Immediate, 1<<5},
  309.        ...
  310.  
  311.      - class
  312.        if you want to subclass TheButton.mcc to add drag'n'drop
  313.        or what else, place the pointer to your class here: TheBar
  314.        will know how to recreate your buttons correctly.
  315.        Otherwise leave it NULL!
  316.  
  317.      - Object
  318.        this will be filled after the creation of the bar with a
  319.        pointer to the button. Remember not to cache it!
  320.  
  321.  
  322.     SEE ALSO
  323.      MUIA_TheBar_Pics
  324.      MUIA_TheBar_DisPics
  325.      MUIA_TheBar_DisStrip
  326.      MUIA_TheBar_DisStripBrush
  327.      MUIA_TheBar_Images
  328.      MUIA_TheBar_PicDrawer
  329.      MUIA_TheBar_SelPics
  330.      MUIA_TheBar_SelStrip
  331.      MUIA_TheBar_SelStripBrush
  332.      MUIA_TheBar_Strip
  333.      MUIA_TheBar_StripBrush
  334.      MUIA_TheBar_StripButtons
  335.  
  336. TheBar.mcc/MUIA_TheBar_Columns
  337.  
  338.     NAME
  339.      MUIA_TheBar_Columns -- ULONG, [ISGN]
  340.  
  341.  
  342.     FUNCTION
  343.      This attributes defines the number of the columns of the
  344.      bar. Setting this attribute to something greater than 0,
  345.      make the bar be in a so called columns mode.
  346.  
  347.      Default 0.
  348.  
  349.  
  350.     SEE ALSO
  351.      MUIA_TheBar_Rows
  352.  
  353. TheBar.mcc/MUIA_TheBar_DisMode
  354.  
  355.     NAME
  356.      MUIA_TheBar_DisMode -- ULONG, [I...]
  357.  
  358.  
  359.     FUNCTION
  360.      Define how to render disables buttons.
  361.  
  362.      One of MUIA_TheBar_DisMode_XXX value.
  363.  
  364.      Note that this overwrites the user preferences and so must
  365.      be used sparely.
  366.  
  367. TheBar.mcc/MUIA_TheBar_DisPics
  368.  
  369.     NAME
  370.      MUIA_TheBar_DisPics -- STRPTR *, [I...]
  371.  
  372.     FUNCTION
  373.      Specify the disabled images that will be used by the buttons
  374.      of the bar. It is only used if MUIA_TheBar_Pics is used.
  375.  
  376.     SEE ALSO
  377.      MUIA_TheBar_DisStrip
  378.      MUIA_TheBar_DisStripBrush
  379.      MUIA_TheBar_Images
  380.      MUIA_TheBar_Pics
  381.      MUIA_TheBar_PicDrawer
  382.      MUIA_TheBar_SelPics
  383.      MUIA_TheBar_SelStrip
  384.      MUIA_TheBar_SelStripBrush
  385.      MUIA_TheBar_Strip
  386.      MUIA_TheBar_StripBrush
  387.      MUIA_TheBar_StripButtons
  388.  
  389. TheBar.mcc/MUIA_TheBar_DisStrip
  390.  
  391.     NAME
  392.      MUIA_TheBar_DisStrip -- STRPTR, [I...]
  393.  
  394.     FUNCTION
  395.      Specify the selected images strip. It is only used if
  396.      MUIA_TheBar_Strip is used.
  397.  
  398.     SEE ALSO
  399.      MUIA_TheBar_DisPics
  400.      MUIA_TheBar_DisStripBrush
  401.      MUIA_TheBar_Images
  402.      MUIA_TheBar_Pics
  403.      MUIA_TheBar_PicDrawer
  404.      MUIA_TheBar_SelPics
  405.      MUIA_TheBar_SelStrip
  406.      MUIA_TheBar_SelStripBrush
  407.      MUIA_TheBar_Strip
  408.      MUIA_TheBar_StripBrush
  409.      MUIA_TheBar_StripButtons
  410.  
  411. TheBar.mcc/MUIA_TheBar_DisStripBrush
  412.  
  413.     NAME
  414.      MUIA_TheBar_DisStripBrush -- struct brush * [I...]
  415.  
  416.     FUNCTION
  417.      Specify the disabled images strip brush. It is only used if
  418.      MUIA_TheBar_StripBrush is used.
  419.  
  420.     SEE ALSO
  421.      MUIA_TheBar_DisPics
  422.      MUIA_TheBar_DisStrip
  423.      MUIA_TheBar_Images
  424.      MUIA_TheBar_Pics
  425.      MUIA_TheBar_PicDrawer
  426.      MUIA_TheBar_SelPics
  427.      MUIA_TheBar_SelStrip
  428.      MUIA_TheBar_SelStripBrush
  429.      MUIA_TheBar_Strip
  430.      MUIA_TheBar_StripBrush
  431.      MUIA_TheBar_StripButtons
  432.  
  433. TheBar.mcc/MUIA_TheBar_DragBar
  434.  
  435.     NAME
  436.      MUIA_TheBar_DragBar -- BOOL, [ISGN]
  437.  
  438.  
  439.     FUNCTION
  440.      If this attribute is TRUE, a special drag gadget is added at
  441.      the left of the bar so that it may be moved around. Of
  442.      course, D&D implementation is up to you!
  443.  
  444.      Default: FALSE
  445.  
  446. TheBar.mcc/MUIA_TheBar_EnableKeys
  447.  
  448.     NAME
  449.      MUIA_TheBar_EnableKeys -- BOOL, [ISGN]
  450.  
  451.  
  452.     FUNCTION
  453.      If this attribute is TRUE, the key short cuts are enabled.
  454.      Key short cuts are defined prepending the key with a _ in
  455.      the button text.
  456.  
  457.      Default: FALSE
  458.  
  459. TheBar.mcc/MUIA_TheBar_Event
  460.  
  461.     NAME
  462.      MUIA_TheBar_Event -- BOOL, [I...]
  463.  
  464.  
  465.     FUNCTION
  466.      Define how to verify if the mouse is over a button.
  467.  
  468.      One of MUIA_TheBar_Event_XXX value.
  469.  
  470.      Note that this overwrites the user preferences and so must
  471.      be used sparely.
  472.  
  473. TheBar.mcc/MUIA_TheBar_Frame
  474.  
  475.     NAME
  476.      MUIA_TheBar_Frame -- BOOL, [ISGN]
  477.  
  478.  
  479.     FUNCTION
  480.      If this attribute is TRUE, a frame is drawn around the bar.
  481.  
  482.      Default: FALSE
  483.  
  484. TheBar.mcc/MUIA_TheBar_Free
  485.  
  486.     NAME
  487.      MUIA_TheBar_Free -- BOOL, [ISGN]
  488.  
  489.  
  490.     FUNCTION
  491.      If this attribute is TRUE, the bar is x,y unlimited.
  492.  
  493.      The default is:
  494.  
  495.      1. If MUIA_Group_Horiz is TRUE the bar is x unlimited
  496.         y limited
  497.  
  498.      2. If MUIA_Group_Horiz is FALSE the bar is x limited
  499.         y unlimited
  500.  
  501.  
  502.      Note that setting MUIA_Group_Horiz changes the
  503.      max size of the bar.
  504.  
  505.  
  506.     SEE
  507.      MUIA_TheBar_FreeHoriz
  508.      MUIA_TheBar_FreeVert
  509.  
  510. TheBar.mcc/MUIA_TheBar_FreeHoriz
  511.  
  512.     NAME
  513.      MUIA_TheBar_FreeHoriz -- BOOL, [ISGN]
  514.  
  515.  
  516.     FUNCTION
  517.      If this attribute is TRUE, the bar is x unlimited.
  518.  
  519.      The default is:
  520.  
  521.      1. If MUIA_Group_Horiz is TRUE the bar is x unlimited
  522.         y limited
  523.  
  524.      2. If MUIA_Group_Horiz is FALSE the bar is x limited
  525.         y unlimited
  526.  
  527.  
  528.      Note that setting MUIA_Group_Horiz changes the
  529.      max size of the bar.
  530.  
  531.  
  532.     SEE
  533.      MUIA_TheBar_Free
  534.      MUIA_TheBar_FreeVert
  535.  
  536. TheBar.mcc/MUIA_TheBar_FreeVert
  537.  
  538.     NAME
  539.      MUIA_TheBar_FreeVert -- BOOL, [ISGN]
  540.  
  541.  
  542.     FUNCTION
  543.      If this attribute is TRUE, the bar is y unlimited.
  544.  
  545.      The default is:
  546.  
  547.      1. If MUIA_Group_Horiz is TRUE the bar is x unlimited
  548.         y limited
  549.  
  550.      2. If MUIA_Group_Horiz is FALSE the bar is x limited
  551.         y unlimited
  552.  
  553.  
  554.      Note that setting MUIA_Group_Horiz changes the
  555.      max size of the bar.
  556.  
  557.     SEE
  558.      MUIA_TheBar_Free
  559.      MUIA_TheBar_FreeHoriz
  560.  
  561. TheBar.mcc/MUIA_TheBar_HorizInnerSpacing
  562.  
  563.     NAME
  564.      MUIA_TheBar_HorizInnerSpacing -- ULONG, [I...]
  565.  
  566.  
  567.     FUNCTION
  568.      Define the pixels between a button contents and its left and
  569.      right frames.
  570.  
  571.      Accepted range is 0<x<=16
  572.  
  573.      Note that this overwrites the user preferences and so must
  574.      be used sparely.
  575.  
  576. TheBar.mcc/MUIA_TheBar_HorizSpacing
  577.  
  578.     NAME
  579.      MUIA_TheBar_HorizSpacing -- ULONG, [I...]
  580.  
  581.  
  582.     FUNCTION
  583.      Define the pixels between two bar columns.
  584.  
  585.      Accepted range is 0<=x<=16
  586.  
  587.      Note that this overwrites the user preferences and so must
  588.      be used sparely.
  589.  
  590. TheBar.mcc/MUIA_TheBar_HorizTextGfxSpacing
  591.  
  592.     NAME
  593.      MUIA_TheBar_HorizTextGfxSpacing -- ULONG, [I...]
  594.  
  595.  
  596.     FUNCTION
  597.      Define the pixels between the image and the Left/Right label
  598.      in Text/Gfx buttons.
  599.  
  600.      Accepted range is 0<x<=16
  601.  
  602.      Note that this overwrites the user preferences and so must
  603.      be used sparely.
  604.  
  605. TheBar.mcc/MUIA_TheBar_IgnoreDisImages
  606.  
  607.     NAME
  608.      MUIA_TheBar_IgnoreDisImages -- BOOL, [I...]
  609.  
  610.  
  611.     FUNCTION
  612.      If TRUE, disabled images are ignored.
  613.  
  614.      Note that this overwrites the user preferences and so must
  615.      be used sparely.
  616.  
  617. TheBar.mcc/MUIA_TheBar_IgnoreSelImages
  618.  
  619.     NAME
  620.      MUIA_TheBar_IgnoreSelImages -- BOOL, [I...]
  621.  
  622.  
  623.     FUNCTION
  624.      If TRUE, selected images are ignored.
  625.  
  626.      Note that this overwrites the user preferences and so must
  627.      be used sparely.
  628.  
  629. TheBar.mcc/MUIA_TheBar_Images
  630.  
  631.     NAME
  632.      MUIA_TheBar_Images -- struct brush **, [I.G.]
  633.  
  634.  
  635.     FUNCTION
  636.      Specify the images which will be used by the buttons of the
  637.      bar.
  638.  
  639.      You must pass a NULL terminated array of pointers to
  640.  
  641.      struct MUIS_TheBar_Brush
  642.      {
  643.         APTR  data;             
  644.         UWORD dataWidth;        
  645.         UWORD dataHeight;       
  646.         UWORD dataTotalWidth;       
  647.         UWORD left;             
  648.         UWORD top;              
  649.         UWORD width;            
  650.         UWORD height;           
  651.         ULONG *colors;          
  652.         ULONG numColors;        
  653.         ULONG trColor;          
  654.         ULONG compressedSize;   
  655.         ULONG flags;            
  656.         ULONG reserved[4];      
  657.      };
  658.  
  659.      The fields are:
  660.  
  661.      - data
  662.        The image data, actually:
  663.  
  664.        . an UBYTE array of pens numbere, if BRFLG_ARGB is not
  665.          specified in flags;
  666.  
  667.        . an UBYTE array of true color data in the ARGB format, if
  668.          BRFLG_ARGB is specified in flags; if you use the alpha
  669.          channel A, specify BRFLG_AlphaMask in flags, otherwise
  670.          it is ignored.
  671.  
  672.      - dataWidth
  673.        The width of the source image in pixels.
  674.  
  675.      - dataHeight
  676.        The rows of the source image.
  677.  
  678.      - dataTotalWidth
  679.        Total width of data in UBYTE.
  680.  
  681.      - left
  682.        The left offset of this pic in data in pixel; it is
  683.        usually 0.
  684.  
  685.      - top
  686.        The top offset of this pic in data in pixels; it is
  687.        usually 0.
  688.  
  689.      - width
  690.        The width of this pic in pixels; it is usually same as
  691.        dataWidth.
  692.  
  693.      - height
  694.        The height of this pic in pixel;s it is usually same as
  695.        dataHeight.
  696.  
  697.      - colors
  698.        The colors palette, actually:
  699.  
  700.        . an array of ULONG r,g,b left shifted triplettes, if
  701.          BRFLG_ColorRGB is not specified in flags;
  702.  
  703.        . an array of ULONG 0x00rrggbb triplettes if
  704.          BRFLG_ColorRGB is specified in flags;
  705.  
  706.        This is ignored if BRFLG_ARGB is specified in flags.
  707.  
  708.      - numColors
  709.        The number of the colors contained in colors, ignored if
  710.        BRFLG_ARGB is specified in flags.
  711.  
  712.      - trColor
  713.        The transparent color, actually:
  714.  
  715.        . the pen index in colors, if BRFLG_ARGB is not specified
  716.          in flags;
  717.  
  718.        . the 0x00rrggbb transparent color, if BRFLG_ARGB is not
  719.          specified in flags.
  720.  
  721.        This is ignored id BRFLG_ARGB & BRFLG_AlphaMask are
  722.        specified in flags.
  723.  
  724.      - compressedSize
  725.        If not 0, data contains byte run 1 compressed UBYTE, which
  726.        are uncompressed on the fly and it is the size of the
  727.        compressed data. Note that true color data are very bad
  728.        compressed by byte run 1 compression.
  729.  
  730.      - flags
  731.        An inclusive or of:
  732.  
  733.        . BRFLG_ARGB
  734.          Data are in ARGB format. See data;
  735.  
  736.        . BRFLG_AlphaMask
  737.          Alpha channel in ARGB data is used. See trColor;
  738.  
  739.        - BRFLG_RGB8
  740.          colors is in 0x00rrggbb format. See colors;
  741.  
  742.      If a pointer is MUIV_TheBar_SkipPic, it is skipped.
  743.  
  744.      Images are derived in this order:
  745.  
  746.      1. MUIA_TheBar_Images
  747.      2. MUIA_TheBar_StripBrush
  748.      3. MUIA_TheBar_Strip
  749.      4. MUIA_TheBar_Pics
  750.  
  751.  
  752.     SEE ALSO
  753.      MUIA_TheBar_DisPics
  754.      MUIA_TheBar_DisStrip
  755.      MUIA_TheBar_DisStripBrush
  756.      MUIA_TheBar_Pics
  757.      MUIA_TheBar_PicDrawer
  758.      MUIA_TheBar_SelPics
  759.      MUIA_TheBar_SelStrip
  760.      MUIA_TheBar_SelStripBrush
  761.      MUIA_TheBar_Strip
  762.      MUIA_TheBar_StripBrush
  763.      MUIA_TheBar_StripButtons
  764.  
  765. TheBar.mcc/MUIA_TheBar_LabelPos
  766.  
  767.     NAME
  768.      MUIA_TheBar_LabelPos -- ULONG, [ISGN]
  769.  
  770.  
  771.     FUNCTION
  772.      Controls the position of the text in a Text/Gfx bar, one of:
  773.       - MUIV_TheBar_LabelPos_Bottom,
  774.       - MUIV_TheBar_LabelPos_Top,
  775.       - MUIV_TheBar_LabelPos_Right,
  776.       - MUIV_TheBar_LabelPos_Left,
  777.  
  778.      Default MUIV_TheBar_LabelPos_Bottom
  779.  
  780. TheBar.mcc/MUIA_TheBar_LeftBarFrameSpacing
  781. TheBar.mcc/MUIA_TheBar_LeftBarFrameSpacing
  782.  
  783.     NAME
  784.      MUIA_TheBar_LeftBarFrameSpacing -- ULONG, [I...]
  785.  
  786.  
  787.     FUNCTION
  788.      Define the pixels between the bar and it's left frame.
  789.  
  790.      Accepted range is 0<x<=16
  791.  
  792.      Note that this overwrites the user preferences and so must
  793.      be used sparely.
  794.  
  795. TheBar.mcc/MUIA_TheBar_Limbo
  796.  
  797.     NAME
  798.      MUIA_TheBar_Limbo -- BOOL, [.S..]
  799.  
  800.  
  801.     FUNCTION
  802.      That is a very strange one. You should use it with care and
  803.      only if you really know what you are doing.
  804.  
  805.      Usually, it should be set to TRUE before the bar comes in
  806.      InitChange and set to FALSE after the bar ExitChange.
  807.  
  808.      If it is TRUE and the bar gets a MUIM_Setup all the gfx
  809.      stuff are not created, if the bar gets a MUIM_Cleanup the
  810.      gfx stuff are not released.
  811.  
  812.      Very useful to drag the bar, to change its orientation and
  813.      so on, without recreating all the gfx stuff (e.g. remapping
  814.      the bitmaps).
  815.  
  816.      Always do something like:
  817.  
  818.      set(bar,MUIA_TheBar_Limbo,TRUE);
  819.      DoMethod(group,MUIM_Group_InitChange);
  820.      ...
  821.      ...
  822.      ...
  823.      DoMethod(group,MUIM_Group_ExitChange);
  824.      set(bar,MUIA_TheBar_Limbo,FASE);
  825.  
  826. TheBar.mcc/MUIA_TheBar_MinVer
  827.  
  828.     NAME
  829.      MUIA_TheBar_MinVer -- ULONG, [I...]
  830.  
  831.  
  832.     FUNCTION
  833.      Define the min wanted version of TheBar.mcc.
  834.  
  835. TheBar.mcc/MUIA_TheBar_Pics
  836.  
  837.     NAME
  838.      MUIA_TheBar_Pics -- STRPTR *, [I...]
  839.  
  840.     FUNCTION
  841.      Specify the images that will be used by the buttons of the
  842.      bar.
  843.  
  844.      While with MUIA_TheBar_Images you specify an array of struct
  845.      brush ** , with this attribute you specify a NULL
  846.      terminated array made of the names of the pics the bar will
  847.      use.
  848.  
  849.      The pics will be load at bar Init time via datatypes.
  850.  
  851.      If a pic can't be load for any reason, the bar is forced to
  852.      text-only.
  853.  
  854.      Again: the order how the images are derived is:
  855.  
  856.      1. MUIA_TheBar_Images
  857.      2. MUIA_TheBar_StripBrush
  858.      3. MUIA_TheBar_Strip
  859.      4. MUIA_TheBar_Pics
  860.  
  861.  
  862.     SEE ALSO
  863.      MUIA_TheBar_DisPics
  864.      MUIA_TheBar_DisStrip
  865.      MUIA_TheBar_DisStripBrush
  866.      MUIA_TheBar_Images
  867.      MUIA_TheBar_PicDrawer
  868.      MUIA_TheBar_SelPics
  869.      MUIA_TheBar_SelStrip
  870.      MUIA_TheBar_SelStripBrush
  871.      MUIA_TheBar_Strip
  872.      MUIA_TheBar_StripBrush
  873.      MUIA_TheBar_StripButtons
  874.  
  875. TheBar.mcc/MUIA_TheBar_PicsDrawer
  876.  
  877.     NAME
  878.      MUIA_TheBar_PicsDrawer -- STRPTR, [I...]
  879.  
  880.  
  881.     FUNCTION
  882.      Specify a drawer for MUIA_TheBar_DisPics,
  883.      MUIA_TheBar_DisStrip, MUIA_TheBar_SelPics
  884.      MUIA_TheBar_SelStrip and MUIA_TheBar_Strip
  885.  
  886.  
  887.     SEE ALSO
  888.      MUIA_TheBar_Pics
  889.      MUIA_TheBar_DisPics
  890.      MUIA_TheBar_DisStrip
  891.      MUIA_TheBar_DisStripBrush
  892.      MUIA_TheBar_Images
  893.      MUIA_TheBar_SelPics
  894.      MUIA_TheBar_SelStrip
  895.      MUIA_TheBar_SelStripBrush
  896.      MUIA_TheBar_Strip
  897.      MUIA_TheBar_StripBrush
  898.      MUIA_TheBar_StripButtons
  899.  
  900. TheBar.mcc/MUIA_TheBar_Precision
  901.  
  902.     NAME
  903.      MUIA_TheBar_Precision -- ULONG, [I...]
  904.  
  905.  
  906.     FUNCTION
  907.      Define the precision to use when to obtain colors.
  908.  
  909.      One of MUIV_TheBar_Precision_XXX
  910.  
  911.      Note that this overwrites the user preferences and so must
  912.      be used sparely.
  913.  
  914. TheBar.mcc/MUIA_TheBar_Raised
  915.  
  916.     NAME
  917.      MUIA_TheBar_Raised -- BOOL, [ISGN]
  918.  
  919.  
  920.     FUNCTION
  921.      If TRUE, a frame is drawn around borderless button when the
  922.      mouse is over them.
  923.  
  924.      It should be set to FALSE when MUIA_TheBar_Borderless is
  925.      FALSE.
  926.  
  927.      Default FALSE.
  928.  
  929. TheBar.mcc/MUIA_TheBar_Remove
  930.  
  931.     NAME
  932.      MUIA_TheBar_RemoveOnTable -- BOOL, [.SGN]
  933.  
  934.  
  935.     FUNCTION
  936.      With this attribute, you may remove spacers. That is very
  937.      usefull when you enter the columns/rows mode. An inclusive
  938.      or of:
  939.  
  940.      - MUIV_TheBar_Remove_BarSpacers
  941.        Remove bar spacers
  942.  
  943.      - MUIV_TheBar_Remove_ButtonSpacers
  944.        Remove buttons spacers
  945.  
  946.      - MUIV_TheBar_Remove_ImageSpacers
  947.        Remove image spacers
  948.  
  949.      - MUIV_TheBar_Remove_All
  950.        Remove all spacers
  951.  
  952.  
  953.     SEE
  954.      MUIA_TheBar_Buttons
  955.      MUIA_TheBar_Columns
  956.      MUIA_TheBar_Rows
  957.  
  958. TheBar.mcc/MUIA_TheBar_RightBarFrameSpacing
  959.  
  960.     NAME
  961.      MUIA_TheBar_RightBarFrameSpacing -- ULONG, [I...]
  962.  
  963.  
  964.     FUNCTION
  965.      Define the pixels between the bar and its right frame.
  966.  
  967.      Accepted range is 0<x<=16
  968.  
  969.      Note that this overwrites the user preferences and so must
  970.      be used sparely.
  971.  
  972. TheBar.mcc/MUIA_TheBar_Rows
  973.  
  974.     NAME
  975.      MUIA_TheBar_Rows -- ULONG, [ISGN]
  976.  
  977.  
  978.     FUNCTION
  979.      This attributes defines the number of the rows of the bar.
  980.      Setting this attribute to something greater than 0, make the
  981.      bar to be in a so called Rows mode. The bar is y-unlimited.
  982.  
  983.      Default 0.
  984.  
  985.  
  986.     SEE ALSO
  987.      MUIA_TheBar_Columns
  988.  
  989. TheBar.mcc/MUIA_TheBar_Scale
  990.  
  991.     NAME
  992.      MUIA_TheBar_Scale -- ULONG, [I...]
  993.  
  994.  
  995.     FUNCTION
  996.      Define the scale ratio for scaled buttons.
  997.  
  998.      Accepted range is 50<=x<=200
  999.  
  1000.      Note that this overwrites the user preferences and so must
  1001.      be used sparely.
  1002.  
  1003. TheBar.mcc/MUIA_TheBar_Scaled
  1004.  
  1005.     NAME
  1006.      MUIA_TheBar_Scaled -- BOOL, [ISGN]
  1007.  
  1008.  
  1009.     FUNCTION
  1010.      If TRUE, buttons are scaled according to MUI preferences.
  1011.  
  1012.      Default FALSE.
  1013.  
  1014. TheBar.mcc/MUIA_TheBar_SelStrip
  1015.  
  1016.     NAME
  1017.      MUIA_TheBar_SelStrip -- STRPTR [I...]
  1018.  
  1019.  
  1020.     FUNCTION
  1021.      Specify the selected images strip. It is only used if
  1022.      MUIA_TheBar_Strip is used.
  1023.  
  1024.     SEE ALSO
  1025.      MUIA_TheBar_DisPics
  1026.      MUIA_TheBar_DisStrip
  1027.      MUIA_TheBar_DisStripBrush
  1028.      MUIA_TheBar_Images
  1029.      MUIA_TheBar_Pics
  1030.      MUIA_TheBar_PicDrawer
  1031.      MUIA_TheBar_SelPics
  1032.      MUIA_TheBar_SelStripBrush
  1033.      MUIA_TheBar_StripButtons
  1034.  
  1035. TheBar.mcc/MUIA_TheBar_SelStripBrush
  1036.  
  1037.     NAME
  1038.      MUIA_TheBar_SelStripBrush -- struct brush *, [I...]
  1039.  
  1040.  
  1041.     FUNCTION
  1042.      Specify the selected images strip brush. It is only used if
  1043.      MUIA_TheBar_StripBrush is used.
  1044.  
  1045.     SEE ALSO
  1046.      MUIA_TheBar_DisPics
  1047.      MUIA_TheBar_DisStrip
  1048.      MUIA_TheBar_DisStripBrush
  1049.      MUIA_TheBar_Images
  1050.      MUIA_TheBar_Pics
  1051.      MUIA_TheBar_PicDrawer
  1052.      MUIA_TheBar_SelPics
  1053.      MUIA_TheBar_SelStrip
  1054.      MUIA_TheBar_StripButtons
  1055.  
  1056. TheBar.mcc/MUIA_TheBar_SpacerIndex
  1057.  
  1058.     NAME
  1059.      MUIA_TheBar_SpacerIndex -- ULONG, [I.G.]
  1060.  
  1061.  
  1062.     FUNCTION
  1063.      Define the pic number to use when an image spacer
  1064.      (MUIV_TheBar_ImageSpacer) is to be created.
  1065.  
  1066.      Default no spacer pic: image spacers are bar spacers.
  1067.  
  1068.  
  1069.     SEE ALSO
  1070.      MUIA_TheBar_Images
  1071.      MUIA_TheBar_BarSpacer
  1072.  
  1073. TheBar.mcc/MUIA_TheBar_SpecialSelect
  1074.  
  1075.     NAME
  1076.      MUIA_TheBar_SpecialSelect -- BOOL, [I...]
  1077.  
  1078.  
  1079.     FUNCTION
  1080.      If TRUE, buttons contents is moved to the right/bottom when
  1081.      the mouse is over them.
  1082.  
  1083.      Note that this overwrites the user preferences and so must
  1084.      be used sparely.
  1085.  
  1086. TheBar.mcc/MUIA_TheBar_Strip
  1087.  
  1088.     NAME
  1089.      MUIA_TheBar_Strip -- STRPTR [I...]
  1090.  
  1091.  
  1092.     FUNCTION
  1093.      Here you my define a picture to load via datatypes which
  1094.      contains all the buttons images. The image must have all the
  1095.      same size. If for any reason the picture can't be load the
  1096.      bar is forced to text only. MUIA_TheBar_PicDrawer applies as
  1097.      well while loading.
  1098.  
  1099.      The number of the images to split the picture in is derived
  1100.      from:
  1101.  
  1102.      1. the value specified in MUIA_TheBar_StripButtons; this
  1103.         lets you add buttons later.
  1104.  
  1105.      2. the number of the buttons specified in
  1106.         MUIA_TheBar_Buttons (if supplied), spacers not included
  1107.  
  1108.      Again: the order how the images are derived is:
  1109.  
  1110.      1. MUIA_TheBar_Images
  1111.      2. MUIA_TheBar_StripBrush
  1112.      3. MUIA_TheBar_Strip
  1113.      4. MUIA_TheBar_Pics
  1114.  
  1115.     SEE ALSO
  1116.      MUIA_TheBar_DisPics
  1117.      MUIA_TheBar_DisStrip
  1118.      MUIA_TheBar_DisStripBrush
  1119.      MUIA_TheBar_Images
  1120.      MUIA_TheBar_Pics
  1121.      MUIA_TheBar_PicDrawer
  1122.      MUIA_TheBar_SelStripBrush
  1123.      MUIA_TheBar_StripBrush
  1124.      MUIA_TheBar_StripButtons
  1125.  
  1126. TheBar.mcc/MUIA_TheBar_StripBrush
  1127.  
  1128.     NAME
  1129.      MUIA_TheBar_StripBrush -- struct brush * [I...]
  1130.  
  1131.  
  1132.     FUNCTION
  1133.      Here you my define a picture which contains all the buttons
  1134.      images. The single images must have all the same size. If
  1135.      for any reason the single images can't be created, the bar
  1136.      is forced to text only.
  1137.  
  1138.      The number of the images to split the picture in is derived
  1139.      from:
  1140.  
  1141.      1. the value specified in MUIA_TheBar_StripButtons; this
  1142.         lets you add buttons later.
  1143.  
  1144.      2. the number of the buttons specified in
  1145.         MUIA_TheBar_Buttons (if supplied), spacers not included
  1146.  
  1147.      Again: the order how the images are derived is:
  1148.  
  1149.      1. MUIA_TheBar_Images
  1150.      2. MUIA_TheBar_StripBrush
  1151.      3. MUIA_TheBar_Strip
  1152.      4. MUIA_TheBar_Pics
  1153.  
  1154.     SEE ALSO
  1155.      MUIA_TheBar_DisPics
  1156.      MUIA_TheBar_DisStrip
  1157.      MUIA_TheBar_DisStripBrush
  1158.      MUIA_TheBar_Images
  1159.      MUIA_TheBar_Pics
  1160.      MUIA_TheBar_PicDrawer
  1161.      MUIA_TheBar_SelPics
  1162.      MUIA_TheBar_SelStrip
  1163.      MUIA_TheBar_SelStripBrush
  1164.      MUIA_TheBar_Strip
  1165.      MUIA_TheBar_StripButtons
  1166.  
  1167. TheBar.mcc/MUIA_TheBar_StripCols
  1168.  
  1169.     NAME
  1170.      MUIA_TheBar_StripCols -- ULONG [I...]
  1171.  
  1172.  
  1173.     FUNCTION
  1174.      Here you my define the number of the columns of the strip.
  1175.      Default: the number of the buttons define in
  1176.      MUIA_TheBar_Buttons if >0, 1 otherwise.
  1177.  
  1178.     SEE ALSO
  1179.      MUIA_TheBar_DisPics
  1180.      MUIA_TheBar_DisStrip
  1181.      MUIA_TheBar_DisStripBrush
  1182.      MUIA_TheBar_Images
  1183.      MUIA_TheBar_Pics
  1184.      MUIA_TheBar_PicDrawer
  1185.      MUIA_TheBar_SelPics
  1186.      MUIA_TheBar_SelStrip
  1187.      MUIA_TheBar_SelStripBrush
  1188.      MUIA_TheBar_Strip
  1189.      MUIA_TheBar_StripBrush
  1190.  
  1191. TheBar.mcc/MUIA_TheBar_StripHSpace
  1192.  
  1193.     NAME
  1194.      MUIA_TheBar_StripHSpace -- ULONG [I...]
  1195.  
  1196.  
  1197.     FUNCTION
  1198.      Here you my define the pixels between 2 columns in a strip.
  1199.  
  1200.      Default 1.
  1201.  
  1202.     SEE ALSO
  1203.      MUIA_TheBar_DisPics
  1204.      MUIA_TheBar_DisStrip
  1205.      MUIA_TheBar_DisStripBrush
  1206.      MUIA_TheBar_Images
  1207.      MUIA_TheBar_Pics
  1208.      MUIA_TheBar_PicDrawer
  1209.      MUIA_TheBar_SelPics
  1210.      MUIA_TheBar_SelStrip
  1211.      MUIA_TheBar_SelStripBrush
  1212.      MUIA_TheBar_Strip
  1213.      MUIA_TheBar_StripBrush
  1214.  
  1215. TheBar.mcc/MUIA_TheBar_StripRows
  1216.  
  1217.     NAME
  1218.      MUIA_TheBar_StripRows -- ULONG [I...]
  1219.  
  1220.  
  1221.     FUNCTION
  1222.      Here you my define the number of the rows in a strip.
  1223.  
  1224.      Default 1.
  1225.  
  1226.     SEE ALSO
  1227.      MUIA_TheBar_DisPics
  1228.      MUIA_TheBar_DisStrip
  1229.      MUIA_TheBar_DisStripBrush
  1230.      MUIA_TheBar_Images
  1231.      MUIA_TheBar_Pics
  1232.      MUIA_TheBar_PicDrawer
  1233.      MUIA_TheBar_SelPics
  1234.      MUIA_TheBar_SelStrip
  1235.      MUIA_TheBar_SelStripBrush
  1236.      MUIA_TheBar_Strip
  1237.      MUIA_TheBar_StripBrush
  1238.  
  1239. TheBar.mcc/MUIA_TheBar_StripVSpace
  1240.  
  1241.     NAME
  1242.      MUIA_TheBar_StripVSpace -- ULONG [I...]
  1243.  
  1244.  
  1245.     FUNCTION
  1246.      Here you my define the pixels between 2 rows in a strip.
  1247.  
  1248.      Default 1.
  1249.  
  1250.     SEE ALSO
  1251.      MUIA_TheBar_DisPics
  1252.      MUIA_TheBar_DisStrip
  1253.      MUIA_TheBar_DisStripBrush
  1254.      MUIA_TheBar_Images
  1255.      MUIA_TheBar_Pics
  1256.      MUIA_TheBar_PicDrawer
  1257.      MUIA_TheBar_SelPics
  1258.      MUIA_TheBar_SelStrip
  1259.      MUIA_TheBar_SelStripBrush
  1260.      MUIA_TheBar_Strip
  1261.      MUIA_TheBar_StripBrush
  1262.  
  1263. TheBar.mcc/MUIA_TheBar_Sunny
  1264.  
  1265.     NAME
  1266.      MUIA_TheBar_Sunny -- BOOL, [ISGN]
  1267.  
  1268.  
  1269.     FUNCTION
  1270.      If TRUE, buttons are rendered in black a white, but when the
  1271.      mouse is over them they are rendered colored.
  1272.  
  1273.      Default FALSE.
  1274.  
  1275. TheBar.mcc/MUIA_TheBar_TextOnly
  1276.  
  1277.     NAME
  1278.      MUIA_TheBar_TextOnly -- BOOL [..G.]
  1279.  
  1280.  
  1281.     FUNCTION
  1282.      If one of the normal pics specified can't be load for any
  1283.      reason, the bar is forced to text-only and this attribute
  1284.      is TRUE.
  1285.  
  1286. TheBar.mcc/MUIA_TheBar_TextOverUseShine
  1287.  
  1288.     NAME
  1289.      MUIA_TheBar_TextOverUseShine -- BOOL, [I...]
  1290.  
  1291.  
  1292.     FUNCTION
  1293.      If TRUE, buttons labels are rendered with the shine rather
  1294.      that the text pen, when the mouse is over them.
  1295.  
  1296.      Note that this overwrites the user preferences and so must
  1297.      be used sparely.
  1298.  
  1299. TheBar.mcc/MUIA_TheBar_TopBarFrameSpacing
  1300.  
  1301.     NAME
  1302.      MUIA_TheBar_TopBarFrameSpacing -- ULONG, [I...]
  1303.  
  1304.  
  1305.     FUNCTION
  1306.      Define the pixels between the bar and it's top frame.
  1307.  
  1308.      Accepted range is 0<x<=16
  1309.  
  1310.      Note that this overwrites the user preferences and so must
  1311.      be used sparely.
  1312.  
  1313. TheBar.mcc/MUIA_TheBar_TopInnerSpacing
  1314.  
  1315.     NAME
  1316.      MUIA_TheBar_TopInnerSpacing -- ULONG, [I...]
  1317.  
  1318.  
  1319.     FUNCTION
  1320.      Define the pixels between a button contents and its top
  1321.      frame.
  1322.  
  1323.      Accepted range is 0<x<=16
  1324.  
  1325.      Note that this overwrites the user preferences and so must
  1326.      be used sparely.
  1327.  
  1328. TheBar.mcc/MUIA_TheBar_ViewMode
  1329.  
  1330.     NAME
  1331.      MUIA_TheBar_ViewMode -- UWORD [ISGN]
  1332.  
  1333.  
  1334.     FUNCTION
  1335.      Set the style of the toolbar.
  1336.  
  1337.      The available values are:
  1338.      - MUIV_TheBar_ViewMode_TextGfx
  1339.      - MUIV_TheBar_ViewMode_Gfx
  1340.      - MUIV_TheBar_ViewMode_Text
  1341.  
  1342.      Default MUIV_TheBar_ViewMode_TextGfx .
  1343.  
  1344.  
  1345.     SEE ALSO
  1346.      MUIA_TheBar_TextOnly
  1347.  
  1348. TheBar.mcc/MUIA_TheBar_VertSpacing
  1349.  
  1350.     NAME
  1351.      MUIA_TheBar_VertSpacing -- ULONG, [I...]
  1352.  
  1353.  
  1354.     FUNCTION
  1355.      Define the pixels between two bar rows.
  1356.  
  1357.      Accepted range is 0<x<=16
  1358.  
  1359.      Note that this overwrites the user preferences and so must
  1360.      be used sparely.
  1361.  
  1362. TheBar.mcc/MUIA_TheBar_VertTextGfxSpacing
  1363.  
  1364.     NAME
  1365.      MUIA_TheBar_VertTextGfxSpacing -- ULONG, [I...]
  1366.  
  1367.  
  1368.     FUNCTION
  1369.      Define the pixels between the image and the Top/Bottom
  1370.      placed label in Text/Gfx buttons.
  1371.  
  1372.      Accepted range is 0<x<=16
  1373.  
  1374.      Note that this overwrites the user preferences and so must
  1375.      be used sparely.
  1376.  
  1377. TheBar.mcc/MUIM_TheBar_AddButton
  1378.  
  1379.     NAME
  1380.      MUIM_TheBar_AddButton
  1381.  
  1382.  
  1383.     SYNOPSIS
  1384.      Object *o = DoMethod(obj,MUIM_TheBar_AddButton,struct MUIS_TheBar_Button *button);
  1385.  
  1386.  
  1387.     FUNCTION
  1388.      Adds a button to the bar.
  1389.  
  1390.      The method, if needed, init/exit bar changes, so don't do it
  1391.      by yourself.
  1392.  
  1393.  
  1394.     INPUTS
  1395.      button - the button to add
  1396.  
  1397.  
  1398.     RESULT
  1399.      o - the created button
  1400.  
  1401. TheBar.mcc/MUIM_TheBar_Clear
  1402.  
  1403.     NAME
  1404.      MUIM_TheBar_Clear
  1405.  
  1406.  
  1407.     SYNOPSIS
  1408.      DoMethod(obj,MUIM_TheBar_Clear);
  1409.  
  1410.  
  1411.     FUNCTION
  1412.      Clears the toolbar.
  1413.  
  1414.      The method, if needed, init/exit bar changes, so don't do it
  1415.      by yourself.
  1416.  
  1417. TheBar.mcc/MUIM_TheBar_DoOnButton
  1418.  
  1419.     NAME
  1420.      MUIM_TheBar_DoOnButton
  1421.  
  1422.  
  1423.     SYNOPSIS
  1424.      ULONG res = DoMethod(obj,MUIM_TheBar_DoOnButton,ULONG ID,ULONG method,...);
  1425.  
  1426.  
  1427.     FUNCTION
  1428.      Performs the specified method on the ID-object.
  1429.  
  1430.  
  1431.     INPUTS
  1432.      ID     - ID of the object to invoke the method on
  1433.      method - method ID to invoke
  1434.      ...    - parameters for method
  1435.  
  1436.  
  1437.     INPUTS
  1438.      res - result from the method, 0 if the button couldn't be found
  1439.  
  1440.  
  1441.     EXAMPLE
  1442.  
  1443.      DoMethod(buttons[0].Object,MUIM_Notify,MUIA_Selected,FALSE,
  1444.          TheBar,5,MUIM_TheBar_DoOnButton,1,MUIM_Set,MUIA_Selected,FALSE);
  1445.  
  1446. TheBar.mcc/MUIM_TheBar_GetAttr
  1447.  
  1448.     NAME
  1449.      MUIM_TheBar_GetAttr
  1450.  
  1451.  
  1452.     SYNOPSIS
  1453.      res = DoMethod(bar,MUIM_TheBar_GetAttr,ULONG ID,Tag attr,ULONG *storage);
  1454.  
  1455.  
  1456.     FUNCTION
  1457.      Read the value of an attribute of a button.
  1458.  
  1459.      attr is one of:
  1460.      - MUIV_TheBar_Attr_Hide
  1461.      - MUIV_TheBar_Attr_Sleep
  1462.      - MUIV_TheBar_Attr_Disabled
  1463.      - MUIV_TheBar_Attr_Selected
  1464.  
  1465.      Use this function rather that reading the attribute directly
  1466.      on the object, especially for Hide, Sleep and Selected
  1467.      attributes.
  1468.  
  1469.     INPUTS
  1470.      ID - the ID of the object to read the attribute of
  1471.      attr - the attribute to read
  1472.      storage - where to store the value of attr
  1473.  
  1474.     RESULT
  1475.      res - a boolean
  1476.  
  1477.  
  1478.     SEE
  1479.      MUIM_TheBar_SetAttr
  1480.  
  1481. TheBar.mcc/MUIM_TheBar_GetDragImage
  1482.  
  1483.     NAME
  1484.      MUIM_TheBar_GetDragImage
  1485.  
  1486.  
  1487.     SYNOPSIS
  1488.      struct MUIS_TheBar_DragImage *di = DoMethod(bar,MUIM_TheBar_GetDragImage,ULONG horiz,ULONG flags);
  1489.  
  1490.  
  1491.     FUNCTION
  1492.      Returns a pointer to a struct MUIS_TheBar_DragImage, if the
  1493.      bar is being dragged NULL otherwise.
  1494.  
  1495.      The struct just contains, for now, the dimensions of the
  1496.      shape of the bar depending on its orientation (horiz); so if
  1497.      you want to have the dimension of the bar as it was horiz,
  1498.      set horiz to TRUE, to FALSE otherwise. Leave flags 0.
  1499.  
  1500.  
  1501.     INPUTS
  1502.      horiz - orientation of the bar you want dimension of
  1503.      flags - leave 0
  1504.  
  1505.  
  1506.     RESULT
  1507.      di - the bar dimension structure pointer
  1508.  
  1509.  
  1510.     SEE ALSO
  1511.      MUIA_TheBar_DragBar
  1512.  
  1513. TheBar.mcc/MUIM_TheBar_GetObject
  1514.  
  1515.     NAME
  1516.      MUIM_TheBar_GetObject
  1517.  
  1518.  
  1519.     SYNOPSIS
  1520.      Object *obj = (Object *)DoMethod(bar,MUIM_TheBar_GetObject,ULONG ID);
  1521.  
  1522.  
  1523.     FUNCTION
  1524.      Returns a pointer to the ID-object.
  1525.  
  1526.  
  1527.     INPUTS
  1528.      ID - the ID of the object you need
  1529.  
  1530.  
  1531.     RESULT
  1532.      obj - the object pointer or NULL
  1533.  
  1534. TheBar.mcc/MUIM_TheBar_Remove
  1535.  
  1536.     NAME
  1537.      MUIM_TheBar_Remove
  1538.  
  1539.  
  1540.     SYNOPSIS
  1541.      ULONG res = DoMethod(bar,MUIM_TheBar_Remove,ULONG ID);
  1542.  
  1543.  
  1544.     FUNCTION
  1545.      Removes and disposes the ID-button from the bar.
  1546.  
  1547.  
  1548.     INPUTS
  1549.      ID - the ID of the button to remove
  1550.  
  1551.  
  1552.     RESULT
  1553.      ULONG res - TRUE on success, FALSE if button couldn't
  1554.                  be found
  1555.  
  1556. TheBar.mcc/MUIM_TheBar_SetAttr
  1557.  
  1558.     NAME
  1559.      MUIM_TheBar_SetAttr
  1560.  
  1561.  
  1562.     SYNOPSIS
  1563.      res = DoMethod(bar,MUIM_TheBar_SetAttr,ULONG ID,Tag attr,ULONG value);
  1564.  
  1565.  
  1566.     FUNCTION
  1567.      Set the value of an attribute of a button.
  1568.  
  1569.      attr is one of:
  1570.      - MUIV_TheBar_Attr_Hide
  1571.      - MUIV_TheBar_Attr_Sleep
  1572.      - MUIV_TheBar_Attr_Disabled
  1573.      - MUIV_TheBar_Attr_Selected
  1574.  
  1575.      Use this function rather that setting the attribute directly
  1576.      on the object, especially for Hide, Sleep and Selected
  1577.      attributes.
  1578.  
  1579.     INPUTS
  1580.      ID - the ID of the object to set the attribute of
  1581.      attr - the attribute to set
  1582.      storage - the value to set attr to
  1583.  
  1584.  
  1585.     RESULT
  1586.      res - a boolean
  1587.  
  1588.  
  1589.     SEE
  1590.      MUIM_TheBar_GetAttr
  1591.  
  1592. TheBar.mcc/MUIM_TheBar_Sort
  1593.  
  1594.     NAME
  1595.      MUIM_TheBar_Sort
  1596.  
  1597.  
  1598.     SYNOPSIS
  1599.      ULONG res = DoMethod(bar,MUIM_TheBar_Sort,LONG obj[1]);
  1600.  
  1601.  
  1602.     FUNCTION
  1603.      Re-arrange the order of the buttons.
  1604.  
  1605.      You don't need to supply all the buttons IDs, but just the
  1606.      the section you want to re-arrange.
  1607.  
  1608.  
  1609.     INPUTS
  1610.      obj[1] - the IDs of the buttons to order, -1 terminated
  1611.  
  1612.  
  1613.     RESULT
  1614.      ULONG res - TRUE on success, FALSE if some button couldn't
  1615.                  be found
  1616.  
  1617.  
  1618.     EXAMPLE
  1619.       If you have a bar with 8 buttons, with IDs (0,1,2,3,4,5,6,7),
  1620.       after:
  1621.  
  1622.       DoMethod(bar,MUIM_TheBar_Sort,5,1,3,-1);
  1623.  
  1624.       the buttons order (by IDs) is: 5,1,3,0,2,4,6,7
  1625.  
  1626.